package com.heima.article.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.heima.article.pojos.ApArticle;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.heima.article.pojos.ArticleHomeDto;
import com.heima.wemedia.vos.WmNewsStatisticsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author 郭文杰
 * @description 针对表【ap_article(文章信息表，存储已发布的文章)】的数据库操作Mapper
 * @createDate 2023-12-02 11:42:51
 * @Entity com.heima.article.pojos.ApArticle
 */
@Mapper
public interface ApArticleMapper extends BaseMapper<ApArticle> {

    /**
     * 查询文章(app端各个频道,加载文章调用)
     *
     * @param articleHomeDto 查询条件
     * @param articleIds     不喜欢的文章id
     * @return 返回结果
     */
    List<ApArticle> selectArticle(@Param("articleHomeDto") ArticleHomeDto articleHomeDto,
                                  @Param("articleIds") List<Long> articleIds);

    /**
     * 根据近days天 查询出近几天内的文章
     *
     * @param days 近几天
     * @return 返回的文章列表
     */
    List<ApArticle> selectArticleByDays(Integer days);

    /**
     * 根据指定的日期区间查询文章信息
     *
     * @param beginDate 开始时间
     * @param endDate   结束时间
     * @param apUserId  用户id
     * @return 返回结果
     */
    Page<ApArticle> selectArticleByDateInterval(
            @Param("apArticlePage") Page<ApArticle> apArticlePage,
            @Param("beginDate") Date beginDate,
            @Param("endDate") Date endDate,
            @Param("apUserId") Integer apUserId);
}




